home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 2: CDPD 1 / Almathera Ten on Ten - Disc 2: CDPD 1.iso / pd / 201-225 / 201 / draco / drinc / exec / semaphores.g < prev    next >
Text File  |  1995-03-13  |  894b  |  37 lines

  1. type
  2. „MsgPort_t=unknown34,
  3. „MinNode_t=unknown8,
  4. „Node_t=unknown14,
  5.  
  6. „Semaphore_t=struct{
  7. ˆMsgPort_tsm_MsgPort;
  8. ˆuintsm_Bids;
  9. „},
  10.  
  11. „SemaphoreRequest_t=struct{
  12. ˆMinNode_tsr_Link;
  13. ˆ*Task_tsr_Waiter;
  14. „},
  15.  
  16. „SignalSemaphore_t=struct{
  17. ˆNode_tss_Link;
  18. ˆuintss_NestCount;
  19. ˆMinList_tss_WaitQueue;
  20. ˆSemaphoreRequest_tss_MultipleLink;
  21. ˆ*Task_tss_Owner;
  22. ˆuintss_QueueCount;
  23. „};
  24.  
  25. extern
  26. „AddSemaphore(*SignalSemaphore_tss)void,
  27. „AttemptSemaphore(*SignalSemaphore_tss)bool,
  28. „FindSemaphore(*charname)*SignalSemaphore_t,
  29. „InitSemaphore(*SignalSemaphore_tss)void,
  30. „ObtainSemaphore(*SignalSemaphore_tss)void,
  31. „ObtainSemaphoreList(*SignalSemaphore_tss)void,
  32. „Procure(*Semaphore_tsm;*Message_tbidMessage)bool,
  33. „ReleaseSemaphore(*SignalSemaphore_tss)void,
  34. „ReleaseSemaphoreList(*SignalSemaphore_tss)void,
  35. „RemSemaphore(*SignalSemaphore_tss)void,
  36. „Vacate(*Semaphore_tsm)void;
  37.